home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
SOUND
/
MODED100.ARJ
/
MODEDIT.DOC
< prev
next >
Wrap
Text File
|
1991-07-05
|
70KB
|
1,990 lines
MODEDIT VERSION 1.00 DOCUMENTATION
COPYRIGHT 1991 NORMAN LIN
=================
TABLE OF CONTENTS
=================
1. Introduction
1.1 What is ModEdit?
1.2 What is needed to run ModEdit?
2. Getting started
2.1 Setup
2.2 ModEdit's menu system and display
2.3 Configuration
3. Nomenclature/concepts
3.1 Note unit
3.1 Pattern
3.3 Sequence
3.4 Sample
3.5 Integrating note units, patterns, sequence, and
samples
4. Using ModEdit
4.1 Entering music
4.1.1 Creating/editing patterns
4.1.2 Sequencing patterns
4.1.3 Other pattern options
4.2 Orchestration: Using Samples
4.2.1 The "Sample Directory"
4.2.2 Loading sample files from disk
4.2.3 Playing samples
4.2.4 Saving sample files to disk
4.2.5 Releasing samples
4.2.6 Attributes of samples
4.2.7 Default sample settings
4.3 Hearing your music
4.3.1 ModRes: Inline playing
4.3.2 ModPlay: External playing
4.4 Saving and loading ModFiles
5. Reference
5.1 Exhaustive menu options
5.2 Pattern editor quick reference key summary
5.3 Effect list quick reference chart
5.4 ModPlay
5.5 Coming attractions
6. License/Warranty/Disclaimer
Page 2
================
1. INTRODUCTION
================
1.1 WHAT IS MODEDIT?
---------------------
ModEdit is a music editor/sequencer for the IBM PC family
that allows you to write music with 4 tracks of digitized
instrument sounds. The final product is written to a file
called a "ModFile", which can then be played back by Mark J.
Cox's "ModPlay" program.
1.2 WHAT IS NEEDED TO RUN MODEDIT?
-----------------------------------
To run ModEdit, you need:
- An IBM or compatible, 640K recommended.
- The executable editor program MODEDIT.EXE.
To hear the music, you also need one or both of the
following:
- The resident module player MODRES.COM by Mark J. Cox,
which allows you to hear your music as you write it from
within ModEdit.
- The external module player ModPlay (MP.COM) by Mark J.
Cox, which allows you to play Modules outside the ModEdit
environment.
NOTE: To run ModPlay or ModRes, you must have a 12 MHz or
faster machine. A new version of ModRes which works with
10MHz machines should soon be available. See "MODRES.DOC"
for more information.
Page 3
===================
2. GETTING STARTED
===================
2.1 SETUP
----------
Your ModEdit archive file should contain the following files:
- MODED.BAT : Batch file that runs ModEdit
- MODEDIT.DOC: This file
- MODEDIT.EXE: The executable ModEdit module editor
- MODRES.COM : Mark J. Cox's resident module player, for
use in conjunction with ModEdit
- MODRES.DOC : Documentation/License for ModRes
- BREATH.MOD : A sample ModFile for you to experiment with
- *.SAM : Various digitized sample files for
incorporation into your own music
To run ModEdit, first unpack the archive file, preferably
into its own subdirectory if you have a hard drive.
If you will want to use the inline playing functions of
ModEdit (usually the case) type "MODRES" and press return.
This loads the resident module player into memory. If you do
not run ModRes before ModEdit, you will not be able to hear
your music from within ModEdit, though you will still be able
to load, edit, and save ModFiles for external playing.
After running ModRes (if you wish to), run ModEdit by typing
"MODEDIT" and pressing return. You will then be running
Modedit. You may wish to set some defaults to your own
preferences (e.g. screen colors, default directories, etc.);
see "Configuration" below.
After you exit ModEdit, ModRes remains in memory (it's a
TSR). Keeping ModRes in memory does no harm, but does take
up a minimal amount of space. To free this memory space,
type "MODRES -d".
Supplied in the ModEdit archive file is a batch file
"MODED.BAT" which automatically installs and deinstalls
ModRes. It simply contains the commands:
modres
modedit
modres -d
Page 4
2.2 MODEDIT'S MENU SYSTEM AND DISPLAY
--------------------------------------
Once you've started up ModEdit, you need to know how to move
around through the various available options. ModEdit is
menu-driven. To choose an option from a menu, you may
either:
1) Use the cursor keys to move the menu bar to the desired
item, then press enter, or
2) Press the capitalized letter on the desired item's menu
line.
To escape from any menu or option, press the ESC key.
Certain menu options (e.g. loading, saving, etc.) require you
to input text. When ModEdit requires input from you, a small
window will be created in which you may type the required
input. If you make a mistake, use the backspace key to
correct it. Press return when you are finished, or ESC to
abort the input.
When entering filenames for load options, you may either
specify the filename to load, or you may specify a pathname.
If you choose to specify a pathname, you must end it with a
backslash (\). After specifying a pathname, you are given a
directory of files in that path and a large reverse video
bar. Move the bar with the arrow keys; press the space bar or
enter to choose a file.
A status line at the very bottom of the screen always gives
you the current filename and various information about the
song, as well as memory available.
2.3 CONFIGURATION
------------------
Now that you know how to move around in ModEdit, you can
configure ModEdit to your particular system and preferences.
Select the "Configuration" option from the Main Menu.
You will be presented with the Configuration Submenu. From
here you may set various options about ModEdit, such as
colors, directories, etc. The only ones you really need to
set right now are the following:
- ModFile directory: this is where ModEdit will look for
your Modfiles (i.e. songfiles). This option is under the
"Directories" option of the Configuration Submenu.
Page 5
- Sample directory: this is where ModEdit will look for your
sample files. This option is also under the "Directories"
option of the Configuration submenu.
And, if you've loaded ModRes into memory, you also need to
set:
- Output device: this is the device to which ModRes will
play music/samples. It defaults to the PC speaker, but
can be a D/A converter on an LPT port (see the ModPlay
documentation for information on how to build a D/A
converter).
Feel free to set any other configuration options you wish to
customize (such as screen colors, error beep, etc.). When
you're done, select "Save Configuration" to save the current
settings to a configuration file. Next time you start up
ModEdit, the configuration file will be read and the defaults
set according to your specifications.
The configuration file is saved to the current working
directory; this will initially be the directory that you were
in when you started ModEdit. If for some reason you wish to
save the configuration file elsewhere, do so by changing the
current working directory. Then, when you save the
configuration, it will be saved in the new current working
directory.
Page 6
=========================
3. NOMENCLATURE/CONCEPTS
=========================
In order to use ModEdit, it is necessary first to understand
some general terminology and concepts dealing with ModFile
construction.
3.1 NOTE UNIT
--------------
The fundamental building block of patterns. It consists of
three parts:
1) A musical note and octave (e.g. C#3 or A 2)
2) A "sample" or "instrument" number that determines what
instrument sound will be associated with the given
musical note
3) An effect number and argument, which jointly determine
"how" the note is to be played (i.e. loud, soft,
arpeggiated, etc.)
3.2 PATTERN
------------
A collection of 64 contiguous note units. It is the
fundamental building block of songs created with ModEdit. By
arranging note units within a pattern/several patterns, you
can create musical motives. Patterns are numbered starting
with ZERO (contrast with samples below) and may go up to 63
(i.e. 64 patterns max).
3.3 SEQUENCE
-------------
An arrangement of patterns. By arranging patterns into a
sequence, you can group musical motives into a song. The
sequence may be up to 128 patterns long. A given pattern can
appear in the sequence more than once, if desired -- this
means that for repeated musical passages, you need not create
another identical pattern; you simply place the same pattern
number in the sequence.
3.4 SAMPLE
-----------
Also interchangeably called "instrument." It is a collection
of digitized data which mimics a particular instrument (e.g.
Page 7
flute, piano, guitar, etc.). Samples make your music sound
"real" as opposed to "computerish" (simple square wave
beeps). Up to 31 distinct samples may be used in a Modfile,
affording a wide range of orchestrational possibilities. The
samples are numbered 1-31 (contrast with the pattern
numbering scheme above).
3.5 INTEGRATING NOTE UNITS, PATTERNS, SEQUENCE, AND SAMPLES
------------------------------------------------------------
A complete song, therefore, consists of a number of
PATTERNS, each of which contains 64 NOTE UNITS. These
patterns are SEQUENCED into a particular order, which defines
the song the listener will hear. The SAMPLE that is
associated with each note determines the timbral quality
(sound) that the note makes as it is played.
Page 8
=================
4. USING MODEDIT
=================
4.1 ENTERING MUSIC
-------------------
4.1.1 Creating and Editing Patterns
------------------------------------
The main building block of ModFiles is the pattern. Musical
notes in ModFiles are entered into patterns. From the main
menu, choose the "Pattern" option, which will take you to the
Pattern Submenu.
Initially, no patterns will be in memory. Therefore, you
must create a NEW pattern, so choose the "New Pattern Edit"
option. To edit an old pattern, you would simply have chosen
"Old Pattern Edit" and entered the pattern number you wished
to edit.
You are now in the ModEdit pattern editor. The screen will
look something like this:
Track 1 Track 2 Track 3 Track 4
--!-----------!-----------!-----------!-----------+ Abbreviated Sample List
00!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00|
01!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 01 <<NONE>>|17 <<NONE>>
02!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 02 <<NONE>>|18 <<NONE>>
15!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 15 <<NONE>>|31 <<NONE>>
--!-----------!-----------!-----------!-----------+ 16 <<NONE>>
^ ^ ^ ^ ^
| | | | | To the left are descriptions of each
| | | | Effect field: argument field for each track. Each track has a
| | | | note field, a sample field, and an
| | | Effect field: command effect field, as shown. At the very
| | | left is the note position within the
| | Sample field: sample number pattern. The edit window scrolls, so
| | you may go up to note position 63
| Note field: note and octave (since there are 64 note units within
| each pattern).
Note position within the pattern
Below the pattern edit window appear 2 lines (which have
been omitted in the above diagram for clarity). The first
tells you which pattern number you are editing. The second
Page 9
tells you the "default sample number," which is explained
under "Sample field" below.
The "Abbreviated Sample List" is a shortened version of the
full list of samples. It's just for reference, so that you
can tell at a glance which sample file is loaded into which
sample slot. See "Orchestration: using samples" below for
more information on samples.
Moving around the pattern editor
--------------------------------
Each pattern consists of 64 note units for each of 4 tracks.
The 64 note units are numbered 0 - 63. The edit window is
only 16 lines long, so to see all 64 note units use the up
and down arrow keys to scroll.
Movement around the screen is quite simple. Use the arrow
keys, home, end, page up, and page down to move the cursor
to any field of any track at any note unit position. INS and
DEL will insert a note unit or delete a note unit from the
track where the cursor is currently located.
To reset any field (note, sample, or effect) to an empty or
zero value, simply press the SPACE bar when the cursor is on
that field. Empty fields might at first seem useless; why
would one want an empty field? The answer is that empty note
unit fields allow entering notes of differing durational
values. See "Note field" below.
Editing the note field
----------------------
The note field consists of a musical note and an octave.
The musical note can be any of the following: C C# D D# E F
F# G G# A A# B. This is a full twelve-tone scale; therefore,
to enter "flat" notes, "double sharp" notes and the like, you
must enter them as their enharmonic equivalent in the given
scale above. For instance, B-flat would be entered as A#,
C## would be entered as D, etc. This notation does result
in some tonal ambiguity from a musical standpoint, but it
makes things much easier for the computer. If you don't
quite understand what enharmonically equivalent notes are,
don't worry about it.
To alter an existing note field, you may either type over
it, or use one of the special note editing keys: "O"
[capital] will increase the note's octave value; "o"
[lowercase] will decrease the note's octave value. "+" will
increase the note by one half-step; "-" will decrease the
note by one half- step. Additionally, "=" will copy a note
field to the note field directly underneath it.
Page 10
The octave range of notes is theoretically C 0 to B 9. If
you try to enter extremely high notes, though, you will start
getting inaccuracies because of loss of note resolution at
the higher extremes. For instance, if you try to enter "B
8", "A 8" will appear on the screen instead. This is because
the note period for B 8 is so small that the computer's
limited resolution interprets it as A 8 instead. There's
really no reason you should need to go THAT high with your
notes anyway. The effective range is approximately C 0 to C
7.
Initially the note field will be blank; therefore "..." will
appear in the field. To enter a note in the note field,
simply move the cursor to the note field in the desired
track, and type in the note/octave from the keyboard. The
note will replace whatever old note was there before.
Entering notes of differing durations requires a "relative"
view of note duration. All musical note durations are
relative, in "real" musical notation. For instance, a half
note is half the length of a whole note. A quarter note is
half the length of a half note. An eighth note is half the
length of a quarter note; a sixteenth note is half the
length of an eighth note, etc. For instance, here's one way
of conceptualizing different note durations:
+---------------+
|= = = = = = = =| One whole note: 8 atomic units
+-------+-------+
|= = = =|= = = =| Two half notes: each 4 atomic units
+---+---+---+---+
|= =|= =|= =|= =| Four quarter notes: each 2 atomic units
+-+-+-+-+-+-+-+-+
|=|=|=|=|=|=|=|=| Eight 8th notes: each 1 atomic unit
+-+-+-+-+-+-+-+-+
Note that, in this particular diagram, we cannot subdivide
beyond 8th notes because at the 8th note level, we have
reached the atomic notational unit "=", which in this case
represents an eighth note.
We could alternatively, though, choose the atomic unit "="
to represent a SIXTEENTH note, in which case our relations
would be as follows:
Page 11
+-------------------------------+
|= = = = = = = = = = = = = = = =| 1 whole note :16 atomic units
+---------------+---------------+
|= = = = = = = =|= = = = = = = =| 2 half notes :each 8 atomic
+-------+-------+-------+-------+ units
|= = = =|= = = =|= = = =|= = = =| 4 quarter notes:each 4 atomic
+---+---+---+---+---+---+---+---+ units
|= =|= =|= =|= =|= =|= =|= =|= =| 8 8th notes :each 2 atomic
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ units
|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=|=| 16 16th notes :each 1 atomic
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ unit
Important points to note about the above diagrams:
(1) We are using a certain number of atomic units to
represent each note duration.
(2) The number of atomic units needed to represent a note of
a certain duration is a function of the note duration
that a SINGLE atomic unit represents.
Thus, conceptually, here is how you enter notes of different
durations:
(1) Determine the SMALLEST or SHORTEST note duration you
will need in the song. Say, you choose the 16th note.
(2) Assume the atomic note unit represents the note duration
chosen in (1).
(3) The note duration that is twice as long as the note
duration in (1) will be represented by twice as many
atomic units. For instance, in this example, 8th notes
would be represented by TWO atomic units, since 16th
notes are represented by one. Correspondingly, quarter
notes would be represented by FOUR atomic units, since
8th notes are represented by two... etc, etc.
(4) Adjust the song speed (see "Effect field" below) so that
the atomic note unit is of the right real-time, absolute
length.
As you have probably ascertained by now, the "atomic note
units" above are almost exactly the "note units" that
comprise a pattern. So, still using the above choice of
atomic note unit as 16th note, here's how you'd enter the
passage C2[4th] D2[8th] E2[8th] F2[16th] G2[16th] A2[16th]
B2[16th] C3[4th]:
Page 12
Track 1 Track 2 Track 3 Track 4
--!-----------!-----------!-----------!-----------+ Abbreviated Sample List
00!C 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00|
01!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 01 <<NONE>>|17 <<NONE>>
02!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 02 <<NONE>>|18 <<NONE>>
03!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 03 <<NONE>>|19 <<NONE>>
04!D 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 04 <<NONE>>|20 <<NONE>>
05!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 05 <<NONE>>|21 <<NONE>>
06!E 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 06 <<NONE>>|22 <<NONE>>
07!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 07 <<NONE>>|23 <<NONE>>
07!F 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 08 <<NONE>>|24 <<NONE>>
09!G 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 09 <<NONE>>|25 <<NONE>>
10!A 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 10 <<NONE>>|26 <<NONE>>
11!B 2|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 11 <<NONE>>|27 <<NONE>>
12!C 3|01|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 12 <<NONE>>|28 <<NONE>>
13!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 13 <<NONE>>|29 <<NONE>>
14!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 14 <<NONE>>|30 <<NONE>>
15!...|00|0 00!...|00|0 00!...|00|0 00!...|00|0 00| 15 <<NONE>>|31 <<NONE>>
--!-----------!-----------!-----------!-----------+ 16 <<NONE>>
Editing pattern 0.
Default sample: 01.
The "..." in the note field indicates that particular note
unit is "empty"; an "empty" note unit means to HOLD the most
recent note in that track, whatever it was. (Remember to
enter empty or null fields, press the SPACE bar when the
cursor is on that field.) So, the C 2 is played for 4 note
units (0 - 3); then the D 2 is played for 2 note units (4 -
5), etc. Thus, the C 2 is played twice as long as the D 2,
which is exactly as intended (C 2 is a quarter note, which
should be played twice as long as the D 2, which is an 8th
note).
Editing the sample number field
-------------------------------
You will notice that when you enter a note, not only does
the note appear, but also a number in the sample field to
the right appears. This number is the "default sample"
number that was mentioned above.
The concept of a "default sample" number is as follows.
Each note in a pattern must be "played" with a particular
"instrument." It is often (almost always) necessary to enter
a long series of notes that is played with one instrument.
Rather than entering the notes AND entering the same sample
number over and over again, you simply enter the note, and
ModEdit will automatically enter the default sample number
in the sample field for you. If you change the default
Page 13
sample (with "S" and "s"; see below) to NONE, this automatic
feature is turned off.
By default, the default sample will NOT overwrite an
existing (i.e. non-zero) sample number. For instance, say
that the default sample is 3, and you enter a note "C 1" in
an empty note unit; then the sample number of that note unit
will become 3. Later, you change your default sample to 4,
and change this "C 1" to a "D 1". The sample number will
stay 3, since the default sample, by default, does not have
"precedence" over an existing sample number. This is so that
you may change existing melody lines without altering the
sample number. You may change this precedence by going to
the Configuration Menu (see "Configuration" below). If the
default sample has "precedence," it will always overwrite an
existing sample field. This is useful for entirely rewriting
tracks, samples and all.
To change the default sample, press "S" [uppercase] to
increase, or "s" [lowercase] to decrease. You'll want to
change the default sample number when your lead line changes
instruments, when you switch from entering a lead track to a
percussion track, etc. -- basically, whenever the music
you're entering switches from predominantly one instrument
to another.
You may also edit the sample field manually by moving the
cursor onto the sample field, and typing in the sample
number that you want associated with the note in the
adjoining note field. If you attempt to enter a sample
number greater than 31, ModEdit will clip the value to 31.
Just as with the note field, "+" and "-" increase and
decrease the field value, respectively.
Note that it is possible for a note unit to have a non-empty
note field, but a null (zero) sample field. This can happen
if you set the default sample to NONE and edit an empty note
unit, or if you manually change the sample field to zero. The
end result is a note with no associated sample. I call such
notes "orphaned" notes. You generally should avoid orphaned
notes. They may play correctly, since the sample number
that will be used during playback will most likely default
to the last sample number that was used in that track. It's
best explicitly to associate a specific sample number with
each non-empty note field.
Additionally, you need to beware of using samples that you
haven't loaded. ModEdit allows you, for instance, use "sample
number 17" even if you have not yet loaded (see "Loading
samples" under "Orchestration" below) a sample into position
17. If you forget eventually to load a sample into position
Page 14
17, you may (probably will) get very strange results during
playback which may crash your computer. So, always make
sure that, when you're ready to play your music, you are only
using samples you have loaded.
Editing the effect field
------------------------
The effect field consists of 2 parts: a command and an
argument.
The command can one of 16 values: 0 1 2 3 4 5 6 7 8 9 A B C
D E F. These commands control various aspects of note and
song playback. An effect command generally takes effect
starting immediately with the note field associated with that
effect.
The argument is one byte long and is represented in
hexadecimal. A hexadecimal byte, in case you don't know, is
a base 16 representation of a number that consists of an
"upper nybble" and a "lower nybble", each of which may take
on a value of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
or F. Values from A - F correspond to the decimal values 10
- 15.
Certain commands listed below use the 2 nybbles separately
(e.g. arpeggiation). In this case, the 1st nybble is one
argument, and the 2nd nybble is the 2nd argument. Other
commands treat the 2 nybbles jointly as one byte (e.g.
speed). In this case, the decimal equivalent of the
hexidecimal number is calculated by: (upper nybble * 16) +
lower nybble. So, for instance, an effect of "F 1D" would
mean set the song speed ("F") to 29 (1*16 + D = 1*16 + 13 =
29).
Here's a list of effects and their required argument byte.
"xy" for the argument byte means each nybble is treated
separately; "xx" means they are treated jointly as one byte.
0 -- AREPEGGIATION
Format: 0 xy
Plays its associated note in arpeggiated fashion; that is, it
rapidly steps the note between 3 pitch values: the original
pitch value, the original pitch value + "x" number of
halfsteps, and the original pitch value + "y" number of
halfsteps.
Page 15
1 -- SLIDE UP
Format: 1 xx
Slides pitch up; slide speed is determined by the xx argument
(remember, it's in hexadecimal).
2 -- SLIDE DOWN
Format: 2 xx
Just like SLIDE UP except it slides the pitch down.
3 -- SLIDE TO NOTE
Format: 3 xx
Similar to slide except it slides the pitch TO the pitch of
the associated note field (commands 1 and 2 only specify a
speed, not a destination). xx is the speed to slide the
pitch.
4 -- VIBRATO
Format: 4 xy
Performs "vibrato" on a note (wavering effect). x is the
vibrato speed; y is the vibrato depth.
A -- VOLUME SLIDE
Format: A x0 or A 0y
Slides the volume either up or down. If x is specified and y
is 0, the volume is slid up at speed x. If y is specified
and x is 0, the volume is slid down at speed y.
B -- POSITION JUMP
Format: B xx
Breaks the pattern (i.e. stops playing it at its current
position) and jumps to position xx (hexadecimal!) in the
pattern sequence table.
C -- SET VOLUME
Format: C xx
Sets the current volume to xx. Valid range is 00 - 40 (hex).
D -- PATTERN BREAK
Format: D 00
Breaks the pattern (i.e. stops playing it at its current
position) and goes on to the next one in the pattern sequence
table. The argument is meaningless.
Page 16
F -- SET SPEED
Format: F xx
Sets the speed of the song; hex values 00 - 1F are valid.
The best way to understand what exactly these effects do is
just to experiment and listen.
Playing music from within the editor
------------------------------------
With ModRes installed, you may hear your music from within
the pattern editor two ways.
First, you may press the "N" key. This plays the note that
the cursor is currently on.
Second, you may press the "P" key, which plays the entire
pattern.
These functions are useful for immediately hearing what your
music sounds like, allowing you to make changes and hear the
results.
Page 17
4.1.2 Sequencing patterns
--------------------------
After you've entered your music into patterns, you then must
sequence the individual patterns into a particular order that
will define the song. To do this, choose the "Sequence
Pattern" option of the Pattern Submenu. You will then be
presented with a table full of zeros, with an index number
going from 0 to 127 beside each zero. This is the pattern
sequence table.
Initially, no patterns will be in your song sequence. So,
move the cursor to song position 0 and press INS, to insert a
pattern into the sequence. A highlighted "00" will appear in
position 0. If you press INS again, another highlighted "00"
will appear. You may press INS as many times as needed (up
to the maximum of 128) to insert patterns into the song
sequence.
Then you simply edit the highlighted list. The highlighted
list is the sequence of patterns that will be played.
Initially it will contain all zeros. So, let's say that
patterns 0,1,2, and 3 contain the lead in to your song, then
patterns 4, 5, and 6 contain a melody to be repeated twice,
then patterns 7,8, and 9 form your coda. You would press
INS 13 times, which would result in a highlighted blank list
of 13 zeros. Then you edit these zeros to reflect your
desired sequence:
+----->Song position
|
| +-->Pattern to be played at that song
| | position
00|00 00|00
01|00 01|01
02|00 02|02
03|00 03|03
04|00 04|04 ---> Notice that the "4 5 6"
05|00 05|05 progression occurs twice; this
06|00 06|06 is because, as mentioned
07|00 07|04 above, patterns 4, 5, and 6
08|00 08|05 contain a musical phrase
09|00 09|06 to be repeated twice.
10|00 10|07
11|00 11|08
12|00 12|09
Unedited blank Final edited
sequence sequence
Page 18
To delete a pattern from a sequence, simply move the cursor
onto the pattern in the highlighted area and press DEL.
You need to be aware that when you save a ModFile (see
"Saving and loading ModFiles" below), the highest pattern
number that will be saved is the highest pattern number that
was USED in the pattern sequence. For instance, say you
created 38 patterns (0 - 37), but in your sequence you only
used patterns 0 through 20. If you attempted to save the
song, patterns 21 through 37 would not be saved. This is a
limitation imposed by the ModFile format. Be sure, therefore,
that when you save a ModFile that the highest pattern number
in the sequence table corresponds to the highest pattern in
memory. If you try to save a ModFile and there is a danger of
losing patterns, ModEdit will warn you of this before
proceeding.
Page 19
4.1.3 Other pattern options
----------------------------
The Pattern Submenu has a few other options for your
convenience.
"Duplicate pattern" will create an identical copy of a
pattern. You supply it source and destination pattern
numbers, and it will copy the source pattern into the
destination pattern (leaving the source unchanged). You may
choose to copy all tracks from the source to the
destination, or only one track (in which case the other
tracks in the destination are unchanged). This is useful for
musical lines that are similar but not identical; you simply
copy the needed tracks from an old pattern into a new one,
then make the necessary minor changes to the new pattern.
"Transpose pattern" allows you to increase or decrease the
pitch of notes in a pattern by a certain number of
half-steps. You may transpose all tracks or only one track.
"Clear all patterns" does just what it says -- erases all
patterns from memory. It asks for confirmation before it
wipes the pattern memory. It's useful if you want to start
over with a new song but keep the current samples in memory
(see also "Clear all samples" under "Orchestration: using
samples" and "Wipe all memory" under "Miscellaneous").
"Play pattern" is used in conjunction with the resident
module player ModRes You type in a pattern number (0-64) and
it plays it to the current output device. For more
information see "Hearing your music" below.
Page 20
4.2 ORCHESTRATION: USING SAMPLES
----------------------------------
To reiterate, samples are the "instruments" that make your
music sound real. Up to 31 distinct samples may be present
in a ModFile, and they are uniquely identified by their
sample number 1 through 31. A sample defines the sound that
a note makes when it is played.
4.2.1 The "sample directory"
-----------------------------
Samples are stored as digitized sound files on disk; each
sample is stored in its own individual file. Since the
possible number of samples is practically infinite, ModEdit
allows you to specify a "sample directory" where your sample
files are stored. For instance you could set the sample
directory to A:\, which would make ModEdit look for sample
files by default on A:\. This would allow you to store
sample files on diskettes. Alternatively, you could make a
subdirectory on your hard drive, and set the sample
drive/directory there, so that your sample files would not
clutter up other directories.
If a sample directory is not specified (either by hand or
through the configuration file) it defaults to the current
working directory.
4.2.2 Loading sample files from disk
-------------------------------------
To use a sample in your song, you must load it from disk
into memory. You can load it into any of 31 slots (since,
again, 31 samples may be present in a ModFile).
To load a sample from disk, choose the "Load sample" option
of the Sample Submenu. You will then be presented with a
list showing you what sample each of the 31 sample slots
holds. Initially, all of the slots will be empty, so next to
each sample number you will see "NOT ALLOCATED."
Pick a sample number that you wish to load. Say, you choose
1. Type "1" and press enter. ModEdit will then ask you for
the sample filename. Say you want to load in a bass drum
sample into sample 1, which is stored on disk as the file
"bassdrum.sam." Type in "bassdrum.sam" and press return.
Remember, ModEdit will look in the "sample directory" on the
"sample drive" to try to locate the sample file. If it
cannot find your sample file, you'll get an error message and
be prompted to try again.
Page 21
If the load is successful, then next to sample number 1 in
the list will appear "bassdrum.sam," which tells you that now
sample 1 is associated with the bassdrum.sam file, which is
your bass drum. So, whenever you use "1" in the sample field
for a particular note (see "Note field" and "Sample field"
under "Creating/editing patterns" above), that particular
note will be played with a bass drum sound.
You may continue to load sample files until (1) you have
loaded all the samples you need; (2) you have loaded samples
into all 31 slots; or (3) you have no more memory to load any
more samples.
Note that ModEdit currently cannot load sample files greater
than 64K.
4.2.3 Playing samples
----------------------
The "Play sample" option plays a sample to the "current
output device" (see "Configuration" below). This is useful
for determining exactly what a sample sounds like, and how it
will sound when played in your song.
4.2.4 Saving sample files to disk
----------------------------------
You may be wondering, "but where can I get digitized sample
files?" You will find in the ModEdit archive file a few
example sample files to play with; they are all "*.sam" files
which can be loaded with the "Load sample" option above.
The "Save sample" option of the Sample Submenu allows you to
save samples in memory to individual sample files on disk.
This is useful for extracting the digitized samples from
existing ModFiles. When you choose the "Save sample" option,
you will be presented with a list of samples and their
allocations. You simply enter the sample number you wish to
save, then the filename to save it to, and ModEdit writes the
sample data from memory to a file.
Note that the "sample name field" (i.e. the name that is
printed beside the sample slot number) is actually
INDEPENDENT of the sample filename on disk. (See "Attributes
of samples" below.) For clarity, ModEdit always by default
assigns the sample filename to the sample name field, but
the name is just there for your convenience. All the
computer knows about is the sample number.
This can cause problems when trying to save samples from
existing ModFiles to disk. Since, again, there is nothing
Page 22
that requires the sample name field to be meaningful, ModFile
composers often blank out the sample name fields entirely or
replace the name fields with a message about themselves.
(ModEdit allows you to do this also; see "Attributes of
samples" below.) Such alteration of the sample name field
does not affect the playing of the ModFile, but it makes
difficult the logical interpretation of samples.
So, say that you just found this ModFile with interesting
sample sounds, and you want to use those in your ModFiles.
You load the ModFile into ModEdit, go into the save sample
screen, and you see a list of 1 - 31 with blanks by each
sample slot. You can still save the samples with absolutely
no problem; just type in the sample number you wish to save.
But what about the filename? You don't "know" which sample
number is associated with what actual sound. This is the
purpose of the sample name field, but since it's been wiped,
you have no information.
An analogy that may be useful is this: say you decide to
order 31 musical instruments in the mail. They arrive in 31
separate, identical, sealed boxes. There are no labels on
any of the boxes, just a number from 1 - 31. How can you tell
just by looking what instrument is in which box? You can't.
The "Play Sample" option mentioned above can be useful here.
By playing the sample and listening to it, you can fill in
the name field yourself, for your own reference. For
instance, say that sample number 1 has a blanked-out name
field. You choose the "Play Sample" option to play sample
1, and it sounds like an electric guitar. Then you could
change the sample name field to "Electric Guitar" or
something similar (see "Attributes of samples" below). The
whole idea is just that if the sample name field is blank,
you have to figure out for yourself what the sample actually
sounds like. The sample name field is a label, nothing more.
4.2.5 Releasing samples
------------------------
Sometimes you may load a sample that you later decide you
don't need/want in your ModFile anymore. You could just
leave it in there, but it would be taking up disk and memory
space. Also, there are only 31 samples, so it's possible
that you could run out of sample slots.
For situations such as these you need to "release" or
"deallocate" a sample slot. Choose the "Release (deallocate)
sample" option of the Sample Submenu. You will be presented
with a list of the 31 sample slots and any samples that have
been loaded into those slots. To free a sample slot so that
Page 23
you may load another sample into it, type its number and
press return. That sample slot will then say "NOT
ALLOCATED" on the list.
For instance, say that sample slot 7 has been loaded with
the sample file "badsnd.sam" which you decide is no longer
appropriate in your song. You'd just choose "Release
(deallocate sample)" then type "7." Next to slot 7 in the
list, "badsnd.sam" would be replaced by "NOT ALLOCATED." You
are now free to load in another sample file, say
"goodsnd.sam," into slot 7 via the "Load sample" option.
If you attempt to load a sample into an already allocated
slot, you will be given the option of deallocating it.
4.2.6 Attributes of samples
----------------------------
Sample attributes define certain characteristics of the
sample. You may edit any of these attributes from the
"Attribute view/edit" option of the Sample Submenu.
The first attribute of a sample is the name. As mentioned
above, ModEdit by default sets the sample name attribute to
the sample filename on disk. This is for clarity and it is
recommended that you have meaningful sample names. You are,
however, free to edit the name attribute to anything you
want, up to 22 characters long. Some composers edit all the
sample name attributes to form a message containing composer
information or the like.
The second attribute is the volume. Whenever a note unit is
played, the sample that is used to play that note can have a
volume from 0 through 64 (64 being loudest). You may specify
the volume for this note unit explicitly through the effect
field with command "C" (see "Effects" above). If you do not
specify a volume, the sample is played back with its
"default" volume, i.e., the volume attribute.
The third and fourth attributes jointly determine "looping"
of the sample. Some sounds, such as a piano or a snare drum,
have a definite start and end point. Such samples are
generally not looped (though they could be for special
effects or something similar). On the other hand some
sounds, such as a flute or a sine wave, do not have a
definite "ending" point; the sound is a constant waveform
that only changes in frequency. Such sounds are often
looped.
A "looped" sample is one that will continuously be played
without stop. Sample looping is defined by a "loop start"
Page 24
attribute and a "loop length" attribute. The "loop start"
attribute is a number that represents an offset from the
beginning of the sample; it is from this point that sample
looping begins. The "loop length" attribute is a number that
represents the length of the section to loop. A diagram
will make this clearer:
+---Loop Length----------+
| |
| This section is played |
v continuously v
-Sample data stream--------==========================
^ ^ ^
| | |
| Loop Start |
| |
+--------------Sample Length------------------------+
The portion of the sample data stream beginning at the loop
start and ending at loopstart + looplength is played
continuously, allowing "ringing" or continuously sounding
notes. This looped portion of the data stream is represented
above by the "=" symbol.
The best way to get a feel for sample looping is to
experiment with the loop bytes and listen to the results
(e.g. with the "Play sample" option of ModEdit or with the
various "Play pattern" options).
4.2.7 Default sample settings
------------------------------
Although all information is saved when you save a ModFile,
not all information is saved when you save a sample file.
Specifically, sample attributes are NOT saved when you save a
sample file; only the sample data (i.e. the sound) itself is
saved. Therefore, when you load a sample file, no attribute
information is known. So, ModEdit sets the sample attributes
for newly-loaded samples to "default" values.
The "Default sample settings" option of the Sample Submenu
allows you to change these defaults. You may set the default
volume, default loop start, and default loop length. The
default volume is 64 (hex 40), which is the maximum volume;
the default loop start and loop length are both 0 (no
looping). If you change these values, then the new values
will be applied to every sample as soon as it is loaded.
Of course the "Edit sample attributes" option allows you to
change the attributes for a particular sample once it's
loaded into memory.
Page 25
4.3 HEARING YOUR MUSIC
----------------------
4.3.1 ModRes: Inline playing
------------------------------
If you've loaded ModRes into memory (see "Setup" above), you
may hear your music directly from within ModEdit.
First, you may choose the "Play Pattern" option. You will
be asked to supply a pattern number (0-63), and ModRes will
play this pattern to the current output device (see
"Configuration" below for a description of the current output
device).
Secondly, you may go into the pattern sequence screen, move
the cursor to a pattern you wish to hear, and press "P."
This will play the pattern that the cursor is currently on.
Alternatively, you could press "S," which would play the
entire song, starting from the pattern the cursor was on.
Consult "MODRES.DOC" for more information on ModRes.
4.3.2 ModPlay: External playing
---------------------------------
To play modules outside the ModEdit environment, simply
choose the "Save ModFile" option of the File Submenu to save
your song to a ModFile. It's best to save it with an
extension of ".MOD," so that ModPlay and ModEdit can
automatically locate it.
The resulting ModFile on disk can be played via the external
ModPlay Module Player, by Mark J. Cox. Consult the ModPlay
documentation for specific instructions on using ModPlay.
Page 26
4.4 SAVING AND LOADING MODFILES
--------------------------------
ModEdit can load in standard 15 or 31 instrument ModFiles.
This means you can edit a vary large portion of existing
Amiga ModFiles (since the ModFile format comes from the
Amiga). ModEdit looks for ModFiles in the "ModFile
directory," which you may set/change via the Configuration
Submenu. Loading a ModFile is straightforward; choose the
"Load ModFile" option of the File Submenu, specify the
path/filename, and the ModFile will be loaded into memory.
Any errors during loading will be printed to the screen.
Saving a ModFile is equally simple; simply choose the "Save
ModFile" option of the File Submenu. Technical note:
ModEdit only saves 31 instrument ModFiles, even ModFiles that
were originally loaded as 15 instrument modules. Since the 15
instrument format is supported for loading, compabitility is
maintained.
Page 27
=============
5. REFERENCE
=============
5.1 Exhaustive menu options
----------------------------
Following are all the available options in ModEdit. Most are
self-explanatory; where needed, a brief explanation is
included.
FILE SUBMENU
- Directory listing
- Save ModFile
- Load ModFile
- Jump to DOS shell
PATTERN SUBMENU
- Old pattern edit (edits an existing pattern)
- New pattern edit (creates new pattern in memory)
- Sequence patterns (into a song)
- Duplicate pattern
- Transpose pattern (up or down a certain # of halfsteps)
- Play pattern (must have MODRES loaded)
- Clear all patterns
SAMPLE SUBMENU
- View current samples
- Attribute view/edit (name, volume, looping)
- Load sample
- Save sample
- Play sample (must have MODRES loaded)
- Default sample settings (for newly-loaded samples)
- Release (deallocate) sample
- Clear all samples
CONFIGURATION SUBMENU
- Directories (current, ModFile, Sample)
- Masks for filenames (sample/ModFile filename masks)
- Toggle error beep
- Colors
- Output device for playback (with MODRES)
- Precedence of default sample (see section 4.1.1,
subheading "Editing the sample number field")
- Save configuration
MISCELLANEOUS SUBMENU
- Title of song
- Wipe all memory
Page 28
EXIT SUBMENU
- Return to main menu
- Exit
5.2 Pattern editor quick reference key summary
-----------------------------------------------
Key(s) Function
------ --------
Cursor movement keys Standard functions
A-G, 0-9, # Note entry
N Play note cursor is on
O (uppercase) Increase note by one octave
o (lowercase) Decrease note by one octave
P Play entire pattern
S (uppercase) Increase default sample
s (lowercase) Decrease default sample
+ Increase note or sample field
- Decrease note or sample field
5.3 Effect list -- quick reference
-----------------------------------
Effect #/Description Format/Argument
-------------------- ---------------
1: Slide Up 1 xx xx=speed
2: Slide Down 2 xx xx=speed
3: Slide To Note 3 xx xx=speed
4: Vibrato 4 xy x=speed y=depth
5: <<no effect>>
6: <<no effect>>
7: <<no effect>>
8: <<no effect>>
9: <<no effect>>
A: Volume Slide A x0/A 0y x=upspeed OR y=downspeed
B: Position Jump B xx xx=pattern position
C: Set Volume C xx xx=volume(00-40 hex)
D: Pattern Break D -- skip to next patt.
E: NOT USED
F: Set Speed F xx xx=speed(00-1F)
5.4 ModPlay
------------
ModPlay is an external Module (ModFile) playing program by
Mark J. Cox. ModPlay can play ModFiles created with ModEdit,
outside the ModEdit environment. It is available at many
ftp sites, one of which is wuarchive.wustl.edu (in
Page 29
mirrors/msdos/sound, program modpy112.zip).
Here is an excerpt from the ModPlay documentation:
Modplay allows you to play (most) Amiga
soundtracker/noisetracker files on a PC (10Mhz or
faster clock speed). CGA minimum is required for the
graphical display whilst playing, but no display at
all is required just to play modules. MODPLAY detects
automatically if a module is corrupt, and detects if it
is a 15 or 31 instrument module.
5.5 Coming attractions
-----------------------
New version of ModRes, which will:
- Work with 10 MHz machines
- Add SoundBlaster support
- Allow more flexible sample playing options
- Allow greater than 64K samples
See the file "MODRES.DOC" for more information. Be on the
lookout for these and other improvements in later versions.
5.6 License/Warranty/Disclaimer
--------------------------------
The below information applies only to ModEdit and related
documentation files. Specifically, the below terms do not
apply to the "MODRES.COM" program file. For license
information concerning MODRES, consult MODRES.DOC.
This program and accompanying documentation are Copyright
1991 by the author (Norman Lin). You are hereby granted
permission to freely distribute and use this program for
personal use. You may upload this program to electronic
bulletin boards or Internet FTP sites. This documentation
file must always be included with the program.
You are specifically prohibited from selling or charging or
requesting any monetary amount for the distribution or use of
ModEdit or accompanying documentation. ModEdit may not be
used for any commercial purposes without my prior express
written permission. ModEdit may not be distributed for use
with any for-profit software (including but not limited to
commercial software and shareware) without my prior express
written permission.
There is no warranty of any kind; this software is provided
on an "AS-IS" basis. The author of this software (Norman
Page 30
Lin) shall not be liable for any damages whatsoever that may
result, directly or indirectly, from the use of this software
or documentation. By using ModEdit, you agree to all the
above terms.
If you find ModEdit useful, entertaining, or interesting --
or if you just feel kind-hearted -- a voluntary donation in
any amount ($5 U.S. suggested) would be greatly appreciated.
With your support, future, better versions of this and other
software can be made available.
Send all contributions, comments, or queries about ModEdit
to:
Norman Lin | Norman Lin
1109 West 94th Street | 1400 Asp Avenue
Jenks, OK 74037 | Walker Tower Box 1214E
| Norman, OK 73026
==========================|================================
Permanent address | Current address --
| valid through August, 1991
Before August 1991, the address on the right will reach me
more quickly. After August 1991, either email me to get my
new current address (preferable), or use the permanent
address.
Internet email address:
norlin@uokmax.ecn.uoknor.edu
norlin@129.15.22.2
Page 31